Закрыть окно
Список других документов библиотеки Серкова
Справочные данные по MSX 6502
Обозначения: P - регистр состояния P=NV0BDIZC
S - указатель стека; PC - программный счетчик
A,X,Y - аккумулятор, регистры X и Y
Z - адрес нулевой страницы; M - адрес ОЗУ
(Z,X) - ML,MH=<ZL+X>,<ZL+X+1>; (Z),Y - M=(ZL,ZH)+Y
---------------------------------------------------------------
КОП|Операция, | код команды/время
| |---------------------------------------------
|признаки |#{A} Z (Z,X) (Z),Y Z,X{Y} M M,X M,Y
---|-------------|---------------------------------------------
LDA|M->A; N,Z |A9/2 A5/3 A1/6 B1/5 B5/4 AD/4 BD/4 B9/4
STA|A->M; --- | - 85/3 81/6 91/5 95/4 8D/4 9D/5 99/5
LDX|M->X; N,Z |A2/2 A6/3 - - B6/4* AE/4 - BE/4
STX|X->M; --- | - 86/3 - - 96/4* 8E/4 - -
LDY|M->Y; N,Z |A0/2 A4/3 - - B4/4 AC/4 BC/4 -
STY|Y->M; --- | - 84/3 - - 94/4 8C/4 - -
BIT|M7,M6->N,V | - 24/3 - - - 2C/4 - -
|A&M->Z |
ORA| N,Z |09/2 05/3 01/6 11/5 15/4 0D/4 1D/4 19/4
AND|A&M->A; N,Z |29/2 25/3 21/6 31/5 35/4 2D/4 3D/4 39/4
EOR| N,Z |49/2 45/3 41/6 51/5 55/4 4D/4 5D/4 59/4
ADC|A+M+C->A; |69/2 65/3 61/6 71/5 75/4 6D/4 7D/4 79/4
| N,Z,C,V; C=1: рез>¤FF, V=1: (++)->(-) или (--)->(+)
SBC|A-M-(1-C)->A |E9/2 E5/3 E1/6 F1/5 F5/4 ED/4 FD/4 F9/4
| N,Z,C,V; C=1: рез>=0, V=1: (+-)->(-) или (-+)->(+)
CMP|(A-M)->N,Z,C |C9/2 C5/3 C1/6 D1/5 D5/4 CD/4 DD/4 D9/4
CPX|(X-M)->N,Z,C |E0/2 E4/3 - - - EC/4 - -
CPY|(Y-M)->N,Z,C |C0/2 C4/3 - - - CC/4 - -
DEC|M-1->M; N,Z | - C6/5 - - D6/6 CE/6 DE/7 -
INC|M+1->M; N,Z | - E6/5 - - F6/6 EE/6 FE/7 -
ASL|C<-M<-0;N,Z,C|0A/2* 06/5 - - 16/6 0E/6 1E/7 -
LSR|0->M->C;N,Z,C|4A/2* 46/5 - - 56/6 4E/6 5E/7 -
ROL|C<-M<-C;N,Z,C|2A/2* 26/5 - - 36/6 2E/6 3E/7 -
ROR|C->M->C;N,Z,C|6A/2* 66/5 - - 76/6 6E/6 7E/7 -
---------------------------------------------------------------
* - добавить 1 такт, если пересекается граница страницы.
Команды изменения признаков
NOP CLC SEC CLI SEI CLV CLD SED
EA/2 18/2 38/2 58/2 78/2 B8/2 D8/2 F8/2
--- 0->C 1->C 0->I 1->I 0->V 0->D 1->D
Ветвления (PC+2+M->PC)
BPL BMI BVC BVS BCC BCS BNE BEQ
10/2 30/2 50/2 70/2 90/2 B0/2 D0/2 F0/2
N=0 N=1 V=0 V=1 C=0 C=1 Z=0 Z=1
Лобавить 1 такт, если ветвление осуществилось;
добавить еще 1 такт, если при ветвлении пересекается граница.
Регистровые операции (* - формируют N,Z)
PHP PLP PHA PLA* DEY* INY* DEX* INX*
08/3 28/4 48/3 68/4 88/2 C8/2 CA/2 E8/2
P->S S->P A->S S->A Y-Y->Y Y+1->Y X-1->X X+1->X
Регистровые пересылки
TXA TAX TXS TSX TYA TAY
8A/2 AA/2 9A/2 BA/2 98/2 A8/2
Команды управления
BRK: 00/7 (PC+2)L,H -> <S>,<S-1>; P-> <S-2>; S-3->S
JSR: 20/6 (PC+2)L,H -> <S>,<S-1>; S-2->S
RTI: 40/6 <S+1>->P; <S+2>,<S+3>->PCL,PCH; S+3->S
RTS: 60/6 <S+1>,<S+2>->PCL,PCH; PC+1->PC; S+2->S
JMP: 4C/3 ML->PCL; MH->PCH
JMP (M): 6C/5 <M>->PCL; <M+1>->PCH
Прерывания
RES: PCL,PCH -> <S>,<S-1>; FFFC,FFFD->PCL,PCH
IRQ(BRK): -"- FFFA,FFFB->PCL,PCH
NMI: -"- FFFE,FFFF->PCL,PCH
.сс
Коды команд
----------------------------------------------------------
0 1 2 3 4 5 6 7
----------------------------------------------------------
00 BRK ORA (Z,X) - - - ORA Z ASL Z -
10 BPL ORA (Z),Y - - - ORA Z,X ASL Z,X -
20 JSR AND (Z,X) - - BIT Z AND Z ROL Z -
30 BMI AND (Z),Y - - - AND Z,X ROL Z,X -
40 RTI EOR (Z,X) - - - EOR Z LSR Z -
50 BVC EOR (Z),Y - - - EOR Z,X LSR Z,X -
60 RTS ADC (Z,X) - - - ADC Z ROR Z -
70 BVS ADC (Z),Y - - - ADC Z,X ROR Z,X -
80 - STA (Z,X) - - STY Z STA Z STX Z -
90 BCC STA (Z),Y - - STY Z,X STA Z,X STA Z,Y -
A0 LDY# LDA (Z,X) LDX# - LDY Z LDA Z LDX Z -
B0 BCS LDA (Z),Y - - LDY Z,X LDA Z,X LDX Z,Y -
C0 CPY# CMP (Z,X) - - CPY Z CMP Z DEC Z -
D0 BNE CMP (Z),Y - - - CMP Z,X DEC Z,X -
E0 CPX# SBC (Z,X) - - CPX Z SBC Z INC Z -
F0 BEQ SBC (Z),Y - - - SBC Z,X INC Z,X -
----------------------------------------------------------
----------------------------------------------------------
8 9 A B C D E F
----------------------------------------------------------
08 PHP ORA # ASL - - ORA M ASL M -
18 CLC ORA M,Y - - - ORA M,X ASL M,X -
28 PLP AND # ROL - BIT M AND M ROL M -
38 SEC AND M,Y - - - AND M,X ROL M,X -
48 PHA EOR # LSR - JMP M EOR M LSR M -
58 CLI EOR M,Y - - - EOR M,X LSR M,X -
68 PLA ADC # ROR - JMP(M) ADC M ROR M -
78 SEI ADC M,Y - - - ADC M,X ROR M,X -
88 DEY - TXA - STY M STA M STY M -
98 TYA STA M,Y TXS - - STA M,X -
A8 TAY LDA # TAX - LDY M LDA M LDX M -
B8 CLV LDA M,Y TSX - LDY M,X LDA M,X LDX M,Y -
C8 INY CMP # DEX - CMP M CMP M DEC M -
D8 CLD CMP M,Y - - CMP M,X CMP M,X DEC M,X -
E8 INX SBC # NOP - SBC M SBC M INC M -
F8 SED SBC M,Y - - SBC M,X SBC M,X INC M,X -
----------------------------------------------------------
Знакогенератор
--------------------------------------------------
0 1 2 3 4 5 6 7 8 9 A B C D E F
--------------------------------------------------
00| . . . . . . . . . . . . . . . .
10| . . . . . . . . . . . . . . . .
20| . . . . . . . . . . . . . . . .
30| . . . . . . . . . . . . . . . .
40| ` a b c d e f g h i j k l m n o
50| p q r s t u v w x y z { / } ~
60| ю а б ц д е ф г х и й к л м н о
70| п я р с т у ж в ь ы з ш э щ ч ъ
80| 0ф .ф =ф F1 F2 F3 <- ПС
90| 1ф 2ф 3ф 4ф 5ф -> ВВ ВН ред6ф 7ф 8ф 9ф
A0| ! " # ¤ % & ' ( ) * + , - . /
B0| 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
C0| @ A B C D E F G H I J K L M N O
D0| P Q R S T U V W X Y Z [ \ ] ^ _
E0| Ю А Б Ц Д Е Ф Г Х И Й К Л М Н О
F0| П Я Р С Т У Ж В Ь Ы З Ш Э Щ Ч
--------------------------------------------------
.сс
Регистр дисплейного контроллера
----------------------------------------------------------
разряды ША ! Выполняемая функция
---------------------------------------------------------
А7 ! признак удвоенной плотности (МГДП или Т64)
А6 ! ЭС2
А5 ! ЭС1 экранные страницы
А4 ! ЭС0
А3 ! ЭПС1 (текст) или ЭС3 (графика)
А2 ! ЭПС0 (текст); в графике несущественен
А1 ! РВИ2 00-ЦГВР 10-Т32 или Т64
А0 ! РВИ1 01-ЦГСР 11 МГВР или МГДП
------------------------------------------------------------
Переключение цветовой палитры.
--------------------------------------------------------
Режим ! Код ! Цвета в ! Цвета в ! Цвета в ! Цвета в
! цвета !палитре 1!палитре 2!палитре 3!палитре 4
! ! (C058/ ! (C059/ ! (C058/ ! (C059/
! ! C05A) ! C05A) ! C05B) ! C05B)
--------------------------------------------------------
!00 ! 0 ! черный ! белый ! черный ! черный
!01 ! 1 ! красный ! красный ! черный ! красный
ЦГВР !10 ! 2 ! зеленый ! зеленый ! зеленый ! черный
!11 ! 3 ! синий ! синий ! синий ! синий
--------------------------------------------------------
МГВР !00 ! 0 ! черный ! белый ! черный ! зеленый
МГДП !01 ! 1 ! белый ! черный ! зеленый ! черный
Т64,Т40! ! ! ! ! !
--------------------------------------------------------
Т32 ! - ! черный ! синий ! черный !фиолетовый
--------------------------------------------------------
.сс
Переключение режимов отображения
------------------------------------------------------------
Номер! Программные переключатели !Номер
ЭС и ! ! ! ! !Номер! ! !экрана
банка! ЦГВР ! МГДП ! ЦГСР ! МГВР ! ЭПС ! Т32 ! Т64 !текста
-----!------!------!------!------!-----!------!------!------
! ! ! ! ! 0 ! C702 ! C782 ! 0
! ! ! ! ! 1 ! C706 ! C786 ! 1
0 ! ! ! C701 ! C703 ! 2 ! C70A ! C78A ! 2
! ! ! ! ! 3 ! C70E ! C78E ! 3
-----! C700 ! C780 !------!------!-----!------!------!------
! ! ! ! ! 0 ! C712 ! C792 ! 4
! ! ! ! ! 1 ! C716 ! C796 ! 5
1 ! ! ! C711 ! C713 ! 2 ! C71A ! C79A ! 6
! ! ! ! ! 3 ! C71E ! C79E ! 7
-----!------!------!------!------!-----!------!------!------
! ! ! ! ! 0 ! C722 ! C7A2 ! 8
! ! ! ! ! 1 ! C726 ! C7A6 ! 9
2 ! ! ! C721 ! C723 ! 2 ! C72A ! C7AA ! A
! ! ! ! ! 3 ! C72E ! C7AE ! B
-----! C720 ! C7A0 !------!------!-----!------!------!------
! ! ! ! ! 0 ! C732 ! C7B2 ! C
! ! ! ! ! 1 ! C736 ! C7B6 ! D
3 ! ! ! C731 ! C733 ! 2 ! C73A ! C7BA ! E
! ! ! ! ! 3 ! C73E ! C7BE ! F
-----!------!------!------!------!-----!------!------!------
! ! ! ! ! 0 ! C742 ! C7C2 ! 10
! ! ! ! ! 1 ! C746 ! C7C6 ! 11
4 ! ! ! C741 ! C743 ! 2 ! C74A ! C7CA ! 12
! ! ! ! ! 3 ! C74E ! C7CE ! 13
-----! C740 ! C7C0 !------!------!-----!------!------!------
! ! ! ! ! 0 ! C752 ! C7D2 ! 14
! ! ! ! ! 1 ! C756 ! C7D6 ! 15
5 ! ! ! C751 ! C753 ! 2 ! C75A ! C7DA ! 16
! ! ! ! ! 3 ! C75E ! C7DE ! 17
-----!------!------!------!------!-----!------!------!------
! ! ! ! ! 0 ! C762 ! C7E2 ! 18
! ! ! ! ! 1 ! C766 ! C7E6 ! 19
6 ! ! ! C761 ! C763 ! 2 ! C76A ! C7EA ! 1A
! ! ! ! ! 3 ! C76E ! C7EE ! 1B
-----! C760 ! C7E0 !------!------!-----!------!------!------
! ! ! ! ! 0 ! C772 ! C7F2 ! 1C
! ! ! ! ! 1 ! C776 ! C7F6 ! 1D
7 ! ! ! C771 ! C773 ! 2 ! C77A ! C7FA ! 1E
! ! ! ! ! 3 ! C77E ! C7FE ! 1F
-----!------!------!------!------!-----!------!------!------
8 ! ! ! C709 ! C70B !
-----! C708 ! C788 !------!------!
9 ! ! ! C719 ! C71B !
-----!------!------!------!------!
A ! ! ! C729 ! C72B !
-----! C728 ! C7A8 !------!------!
B ! ! ! C739 ! C73B !
-----!------!------!------!------!
C ! ! ! C749 ! C74B !
-----! C748 ! C7C8 !------!------!
D ! ! ! C759 ! C75B !
-----!------!------!------!------!
E ! ! ! C769 ! C76B !
-----! C768 ! C7E8 !------!------!
F ! ! ! C779 ! C77B !
------------------------------------------------------------